调用泛型方法
Generic.lua.txt
    local obj = CS.UnityEngine.Object.FindObjectOfType(typeof(CS.shenjun.Generic))
    local cam = obj:GetCamera()
    local cam1 = obj:GetComponent();
    if cam1 == cam then
        print("the same camera")
    end
Generic.cs
    /*
     *  created by shenjun
     */
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using XLua;
    namespace shenjun
    {
        public sealed class Generic : MonoBehaviour {
            void Start () {
                LuaEnv luaEnv = new LuaEnv();
                luaEnv.DoString("require 'Generic'");
                luaEnv.Dispose();
            }
            void Update () {
            }
            public Camera GetCamera()
            {
                return this.GetComponent<Camera>();
            }
        }
        [LuaCallCSharp]
        public static class GenericExtension
        {
            public static Camera GetComponent(this Generic self)
            {
                return self.GetComponent<Camera>();
            }
        }
    }
🔚